package main

import (
	"bufio"
	"fmt"
	"math/rand"
	"os"
	"strconv"
	"time"
)

func main() {
	// 初始化随机数生成器
	rand.Seed(time.Now().UnixNano())
	
	// 生成1到100之间的随机数
	target := rand.Intn(100) + 1
	
	fmt.Println("欢迎来到猜数字游戏!")
	fmt.Println("我已经想好了一个1到100之间的整数，你来猜猜看？")
	
	reader := bufio.NewReader(os.Stdin)
	var guess int
	var attempts = 0
	
	for {
		fmt.Print("请输入你的猜测: ")
		input, err := reader.ReadString('\n')
		if err != nil {
			fmt.Println("读取输入时出错，请重试。")
			continue
		}
		
		// 去除换行符
		input = input[:len(input)-1]
		
		// 检查输入是否为空
		if input == "" {
			fmt.Println("输入不能为空，请重新输入。")
			continue
		}
		
		// 将字符串转换为整数
		guessNum, err := strconv.Atoi(input)
		if err != nil {
			fmt.Println("无效的输入，请输入一个整数。")
			continue
		}
		
		guess = guessNum
		attempts++
		
		// 判断猜测结果
		if guess < target {
			fmt.Println("太小了，再试试！")
		} else if guess > target {
			fmt.Println("太大了，再试试！")
		} else {
			fmt.Printf("恭喜你，猜对了！答案就是%d！\n", target)
			fmt.Printf("你总共猜了%d次。\n", attempts)
			break
		}
	}
}
